import { fileURLToPath, URL } from "node:url";

import { defineConfig, loadEnv } from "vite";
import vue from "@vitejs/plugin-vue";
import vueJsx from "@vitejs/plugin-vue-jsx";
import vueDevTools from "vite-plugin-vue-devtools";
import { createHtmlPlugin } from "vite-plugin-html";

export default defineConfig(({ mode }) => {
  const env = loadEnv(mode, process.cwd()); // 加载环境变量
  return {
    plugins: [
      vue(),
      vueJsx(),
      vueDevTools(),
      createHtmlPlugin({
        inject: {
          data: {
            // 将环境变量注入到 HTML 模板中
            appTitle: env.VITE_APP_NAME || "briquettes",
          },
        },
      }),
    ],
    server: {
      port: 9091, // 为前端服务指定端口，可自行修改
      open: false, // 服务启动时自动打开浏览器
      proxy: {
        "/briquettes": {
          target: env.VITE_API_URL, // 你的后端服务器地址
          changeOrigin: true, // 允许跨域
          rewrite: (path) => path.replace(/^\/system/, ""), // 可选的路径重写，移除 /api 前缀
        },
      },
    },
    resolve: {
      alias: {
        // 模块路径的“快捷方式”
        "@": fileURLToPath(new URL("./src", import.meta.url)),
      },
    },
  };
});
